package com.gitee.loyo.post;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.List;

/**
 * T/CEC 102.3-2016
 * 6.10 推送充电订单
 * 6.10.3 输入参数
 */
@Data
@Accessors(chain = true)
public class NotifyChargeOrderInfoPost implements Serializable {
    /**
     * 充电订单号
     */
    @JsonProperty("StartChargeSeq")
    private String startChargeSeq;
    /**
     * 充电设备接口编码
     */
    @JsonProperty("ConnectorID")
    private String connectorId;
    /**
     * 充电开始时间
     */
    @JsonProperty("StartTime")
    private String startTime;
    /**
     * 充电结束时间
     */
    @JsonProperty("EndTime")
    private String endTime;
    /**
     * 累计充电量
     */
    @JsonProperty("TotalPower")
    private Double totalPower;
    /**
     * 总电费
     */
    @JsonProperty("TotalElecMoney")
    private Double totalElecMoney;
    /**
     * 总服务费
     */
    @JsonProperty("TotalSeviceMoney")
    private Double totalServiceMoney;
    /**
     * 累计总金额
     */
    @JsonProperty("TotalMoney")
    private Double totalMoney;
    /**
     * 充电结束原因
     */
    @JsonProperty("StopReason")
    private Integer stopReason;
    /**
     * 充电明细
     */
    @JsonProperty("ChargeDetails")
    private List<ChargeDetail> chargeDetails;

    /**
     * 充电明细信息体
     */
    @Data
    public static class ChargeDetail{
        /**
         * 开始时间
         */
        @JsonProperty("DetailStartTime")
        private String detailStartTime;
        /**
         * 结束时间
         */
        @JsonProperty("DetailEndTime")
        private String detailEndTime;
        /**
         * 时段电价
         */
        @JsonProperty("ElecPrice")
        private Double elecPrice;
        /**
         * 时段服务费价格
         */
        @JsonProperty("SevicePrice")
        private Double servicePrice;
        /**
         * 时段充电量
         */
        @JsonProperty("DetailPower")
        private Double detailPower;
        /**
         * 时段电费
         */
        @JsonProperty("DetailElecMoney")
        private Double detailElecMoney;
        /**
         * 时段服务费
         */
        @JsonProperty("DetailSeviceMoney")
        private Double detailServiceMoney;
    }
}
